package cn.algorithmdemo.sort;

import java.util.Arrays;

public class Demo02 {
    /*
    2. 选择排序
        2.1 算法步骤
        从0索引开始，跟后面的元素一一比较
        小的放前面，大的放后面
        第一次循环结束后，最小的数据已经确定
        第二次循环从1索引开始以此类推
        第三轮循环从2索引开始以此类推
        第四轮循环从3索引开始以此类推。
    * */
    public static void main(String[] args) {
        int[] arr = {131, 127, 147, 81, 103, 23, 7, 79};
       /* //第一轮：
        //从0索引开始，跟后面的元素一一比较。
        for (int i = 0 + 1; i < arr.length; i++) {
            //拿着0索引跟后面的数据进行比较
            if(arr[0] > arr[i]){
                int temp = arr[0];
                arr[0] = arr[i];
                arr[i] = temp;
            }
        }*/
        System.out.println(Arrays.toString(arr));
        //最终代码：
        //外循环：几轮
        //i:表示这一轮中，我拿着哪个索引上的数据跟后面的数据进行比较并交换
        for (int i = 0; i < arr.length-1; i++) {
            //内循环：每一轮我要干什么事情？
            //拿着i跟i后面的数据进行比较交换
            for (int j = i+1; j < arr.length; j++) {
                if (arr[j]<arr[i]){
                    int temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}
